// Copyright (c) 1996-2002 John Lyon-Smith. All rights reserved.

#pragma once

// Include this header once in your project to declare the standard COM DLL exports

#pragma comment(linker, "/EXPORT:DllCanUnloadNow=_DllCanUnloadNow@0,PRIVATE")
STDAPI DllCanUnloadNow(void)
{
    return S_OK;
}

// Returns a class factory to create an object of the requested type
#pragma comment(linker, "/EXPORT:DllGetClassObject=_DllGetClassObject@12,PRIVATE")
STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
{
    return getComHelp().DllGetClassObject(rclsid, riid, ppv);
}

// DllRegisterServer - Adds entries to the system registry
#pragma comment(linker, "/EXPORT:DllRegisterServer=_DllRegisterServer@0,PRIVATE")
STDAPI DllRegisterServer(void)
{
	return getComHelp().DllRegisterServer();
}

// DllUnregisterServer - Removes entries from the system registry
#pragma comment(linker, "/EXPORT:DllUnregisterServer=_DllUnregisterServer@0,PRIVATE")
STDAPI DllUnregisterServer(void)
{
	return getComHelp().DllUnregisterServer();;
}

// DllInstall - Does general product setup
#pragma comment(linker, "/EXPORT:DllInstall=_DllInstall@8,PRIVATE")
STDAPI DllInstall(
    BOOL bInstall,
    LPCWSTR pszCmdLine)
{
	(void)pszCmdLine;
	(void)bInstall;
	
    return S_OK;
}
